home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Sample Code / Sample Code Update 01⁄96 / Fragment Tool / Sources / Streams.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-20  |  1.3 KB  |  80 lines  |  [TEXT/MPCC]

  1. /*
  2.     File:        Streams.c
  3.  
  4.     Contains:    Utility routines to stream data into a block of memory
  5.  
  6.     Written by:    Chris White, Developer Technical Support
  7.     
  8.     Copyright:    © 1995 by Apple Computer, Inc., all rights reserved.
  9.     
  10.     Change History (most recent first):
  11.     
  12.                   9/28/95    CW        First release
  13.  
  14. */
  15.  
  16.  
  17.  
  18. #ifndef __STREAMS__
  19. #define __STREAMS__
  20.  
  21.  
  22.  
  23. #ifndef __TYPES__
  24.     #include <Types.h>
  25. #endif
  26.  
  27. #ifndef __MEMORY__
  28.     #include <Memory.h>
  29. #endif
  30.  
  31.  
  32.  
  33.  
  34.  
  35. typedef struct StreamHeader
  36. {
  37.     Size    blockSize;
  38.     Size    currentSize;
  39.     Size    cursor;
  40.     Size    maxCursor;
  41.     
  42. } tStreamHeader, *tStreamHeaderPtr;
  43.  
  44.  
  45.  
  46. typedef Ptr        tStreamRef;
  47. typedef UInt32    tStreamCursor;
  48.  
  49.  
  50.  
  51. enum
  52. {
  53.     kInvalidStreamRef    = -1,
  54.     kBoundsErr            = -2
  55. };
  56.  
  57.  
  58.  
  59. OSErr NewStream ( tStreamRef* streamRef, Size blockSize );
  60. OSErr DisposeStream ( tStreamRef streamRef );
  61. OSErr SetStreamData ( tStreamRef streamRef, Ptr dataPtr, Size dataSize );
  62. OSErr GetStreamData ( tStreamRef streamRef, Ptr dataPtr, Size dataSize );
  63. OSErr GetStreamDataPtr ( tStreamRef streamRef, Ptr* dataPtr );
  64. Size GetStreamDataSize ( tStreamRef streamRef );
  65. tStreamCursor GetStreamCursor ( tStreamRef streamRef );
  66. OSErr SetStreamCursor ( tStreamRef streamRef, tStreamCursor byteCount );
  67. void ResetStreamCursor ( tStreamRef streamRef );
  68. OSErr CompactStream ( tStreamRef streamRef );
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78. #endif // define __STREAMS__
  79.  
  80.